-- *****************************************************************
-- Juniper-SDX-JPS-MIB
--
-- Juniper Networks Inc.
-- Juniper SDX JPS MIB
--
Juniper-SDX-JPS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    Counter32,
    Gauge32,
    IpAddress,

    TimeTicks
        FROM SNMPv2-SMI

    DisplayString
        FROM SNMPv2-TC

    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB

    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF

    juniSdxMibs
        FROM Juniper-SDX-MIBS;


juniSdxJpsMib MODULE-IDENTITY
    LAST-UPDATED "200604111100Z"  -- 11-Apr-06

    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
        "        Juniper Technical Assistance Center
                 Juniper Networks, Inc.
                 1194 N. Mathilda Avenue
                 Sunnyvale, CA 94089
                 E-mail: support@juniper.net"

    DESCRIPTION
        "MIB of the SDX JPS "

    REVISION "200604111100Z"  -- 11-Apr-06
    DESCRIPTION
    "Revision info updated."


    ::= { juniSdxMibs 11 }

juniSdxMgmtInterface OBJECT IDENTIFIER ::= { juniSdxJpsMib 1 }

    juniJpsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniJpsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table describing attributes of a JPS server."
        ::= { juniSdxMgmtInterface 1 }

    juniJpsEntry OBJECT-TYPE
        SYNTAX      JuniJpsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry describing attributes of a JPS. This table has one index:
         juniJpsIndex."
        INDEX   { juniJpsIndex }
        ::= { juniJpsTable 1 }
    
    JuniJpsEntry::= SEQUENCE {
        juniJpsIndex                    Integer32,
        juniJpsUptime                   TimeTicks,
        juniJpsThreads                  Gauge32,
        juniJpsHeapLimit                Integer32,
        juniJpsHeapUsed                 Gauge32
    }

    juniJpsIndex OBJECT-TYPE
        SYNTAX          Integer32 (0..10000)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of the slot on which the JPS is running."
        ::= { juniJpsEntry 1 }

    juniJpsUptime OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The time (in hundredths of a second) since the JPS was last started."
        ::= { juniJpsEntry 2 }

    juniJpsThreads OBJECT-TYPE
        SYNTAX          Gauge32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Java threads that currently exist inside the JPS's
         Java Virtual Machine."        
        ::= { juniJpsEntry 3 }

    juniJpsHeapLimit OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "kilobytes"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The maximum heap memory (in kilobytes) available for use by this JPS's
         Java Virtual Machine."
        ::= { juniJpsEntry 4 }

    juniJpsHeapUsed OBJECT-TYPE
        SYNTAX      Gauge32
        UNITS       "kilobytes"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The amount of used heap space out of the total available to the
         Java Virtual Machine."
        ::= { juniJpsEntry 5 }

--
-- Rks MI
--
    juniJpsRksTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniJpsRksEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table of JPS RKS Interface entries."
        ::= { juniSdxMgmtInterface 2 }

    juniJpsRksEntry OBJECT-TYPE
        SYNTAX      JuniJpsRksEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry describing attributes of a JPS RKS Interface. This table
         is indexed by juniJpsIndex. juniJpsIndex is the number of slot on 
         which the JPS is running. Each JPS has only one RKS interface."
        INDEX   { juniJpsIndex }
        ::= { juniJpsRksTable 1 }
    
    JuniJpsRksEntry::= SEQUENCE {
        juniJpsRksPolicyReqSent         Counter32,
        juniJpsRksPolicyUpdateSent      Counter32,
        juniJpsRksPolicyDelSent         Counter32,
        juniJpsRksTimeChangeBCasted     Counter32,
        juniJpsRksGateSetCreateObsvd    Counter32,
        juniJpsRksGateSetUpdateObsvd    Counter32,
        juniJpsRksGateSetAckObsvd       Counter32,
        juniJpsRksGateSetErrObsvd       Counter32,
        juniJpsRksGateSetErrSent        Counter32,
        juniJpsRksGateDelObsvd          Counter32,
        juniJpsRksGateDelAckObsvd       Counter32,
        juniJpsRksGateDelErrObsvd       Counter32,
        juniJpsRksGateDelErrSent        Counter32,
        juniJpsRksGateInfoObsvd         Counter32,
        juniJpsRksGateInfoAckObsvd      Counter32,
        juniJpsRksGateInfoErrObsvd      Counter32,
        juniJpsRksGateRptClsdObsvd      Counter32,
        juniJpsRksGateRptNonClsdObsvd   Counter32,
        juniJpsRksGateRptClsdNoEGIObsvd Counter32,
        juniJpsRksSyncReqObsvd          Counter32,
        juniJpsRksSyncRptObsvd          Counter32,
        juniJpsRksSyncCompleteObsvd     Counter32,
        juniJpsRksSyncCompleteErrObsvd  Counter32,
        juniJpsRksPSGateInfoSent        Counter32,
        juniJpsRksPSGateInfoAckRcvd     Counter32,
        juniJpsRksPSGateInfoErrRcvd     Counter32,
        juniJpsRksCachedEGIs            Counter32,
        juniJpsRksPendingEvents         Counter32,
        juniJpsRksHeldDECs              Counter32 
    }

    juniJpsRksPolicyReqSent OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Policy Request events sent from the policy server to all
         RKSs."
        ::= { juniJpsRksEntry 1 }

    juniJpsRksPolicyUpdateSent OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Policy Update events sent from the policy server to all
         RKSs."
        ::= { juniJpsRksEntry 2 }

    juniJpsRksPolicyDelSent OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Policy Delete events sent from the policy server to all 
         RKSs."
        ::= { juniJpsRksEntry 3 }

    juniJpsRksTimeChangeBCasted OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Time Change events sent from the policy server to all 
         RKSs."
        ::= { juniJpsRksEntry 4 }

    juniJpsRksGateSetCreateObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Set messages received from all AMs that are 
         attempts to create gates."
        ::= { juniJpsRksEntry 5 }

    juniJpsRksGateSetUpdateObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Set messages received from all AMs that are 
         attempts to modify gates."
        ::= { juniJpsRksEntry 6 }

    juniJpsRksGateSetAckObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Set-Acks messages received from all CMTSs in 
         response to forwarded, AM-generated Gate-Sets."
        ::= { juniJpsRksEntry 7 }

    juniJpsRksGateSetErrObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Set-Errs messages received from all CMTSs in 
         response to forwarded, AM-generated Gate-Sets."
        ::= { juniJpsRksEntry 8 }

    juniJpsRksGateSetErrSent OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Set-Err messages sent from the policy server to all
         AMs in response to AM-generated Gate-Sets, due to a fail attempts to 
         query a CMTS about a gate using a PS-generated Gate-Info."
        ::= { juniJpsRksEntry 9 }

    juniJpsRksGateDelObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Del messages received from all AMs."
        ::= { juniJpsRksEntry 10 }

    juniJpsRksGateDelAckObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Del-Ack messages received from all CMTSs in 
         response to forwarded, AM-generated Gate-Dels."
        ::= { juniJpsRksEntry 11 }

    juniJpsRksGateDelErrObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Del-Err messages received from all CMTSs in 
         response to forwarded, AM-generated Gate-Dels.  "
        ::= { juniJpsRksEntry 12 }

    juniJpsRksGateDelErrSent OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Del-Err messages sent from the policy server to all
         AMs in response to AM-generated Gate-Dels, due to failed attempts to 
         query a CMTS about a gate using a PS-generated Gate-Info."
        ::= { juniJpsRksEntry 13 }

    juniJpsRksGateInfoObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Info messages received from all AMs."
        ::= { juniJpsRksEntry 14 }

    juniJpsRksGateInfoAckObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Info-Ack messages received from all CMTSs in 
         response to forwarded, AM-generated Gate-Infos."
        ::= { juniJpsRksEntry 15 }

    juniJpsRksGateInfoErrObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Info-Err messages received from all CMTSs in 
        response to forwarded, AM-generated Gate-Infos."
        ::= { juniJpsRksEntry 16 }

    juniJpsRksGateRptClsdObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Report-State messages received from all CMTSs that
         signal that a gate has been closed."
        ::= { juniJpsRksEntry 17 }

    juniJpsRksGateRptNonClsdObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Report-State messages received from all CMTSs that
         signal that a gate has changed state, but is still open."
        ::= { juniJpsRksEntry 18 }

    juniJpsRksGateRptClsdNoEGIObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Report-State messages received from all CMTSs that 
         signal that a gate has been closed, and for which the policy server 
         can not send an Policy Delete RKS event because it does not know the 
         EventGenerationInfo associated with the gate."
        ::= { juniJpsRksEntry 19 }

    juniJpsRksSyncReqObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Synch-Request messages received from all AMs."
        ::= { juniJpsRksEntry 20 }

    juniJpsRksSyncRptObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Synch-Report messages received from all CMTSs in 
        response to forwarded, AM-generated Synch-Requests."
        ::= { juniJpsRksEntry 21 }

    juniJpsRksSyncCompleteObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Synch-Complete messages not containing a PacketCableError
         received from all CMTSs in response to forwarded, AM-generated 
         Synch-Requests."
        ::= { juniJpsRksEntry 22 }

    juniJpsRksSyncCompleteErrObsvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Synch-Complete messages containing a PacketCableError 
         received from all CMTSs in response to forwarded, AM-generated 
         Synch-Requests."
        ::= { juniJpsRksEntry 23 }

    juniJpsRksPSGateInfoSent OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Info messages generated by the policy server in 
         order to learn a specific gate's BCID and EventGenInfo."
        ::= { juniJpsRksEntry 24 }

    juniJpsRksPSGateInfoAckRcvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Info-Ack messages received from all CMTSs in 
         response to policy server generated Gate-Infos."
        ::= { juniJpsRksEntry 25 }

    juniJpsRksPSGateInfoErrRcvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Gate-Info-Err messages received from all CMTSs in 
         response to policy server generated Gate-Infos."
        ::= { juniJpsRksEntry 26 }
        
    juniJpsRksCachedEGIs OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of cached EGIs.  Each EGI describes the RKS servers  
         and the BCID associated with a specific gate."
        ::= { juniJpsRksEntry 27 }
        
    juniJpsRksPendingEvents OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of RKS events partially initialize based on 
         southbound DECs, and ready to be sent to an RKS server 
         as soon as the corresponding RPTs are observed."
        ::= { juniJpsRksEntry 28 }        
        
    juniJpsRksHeldDECs OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of DECs being held until the JPS queries a CMTS for 
         information about a particular gate. Once that information is 
         received, the DEC will be forwarded to the CMTS."
        ::= { juniJpsRksEntry 29 }                 

--
-- Am MI
--

    juniSdxJpsApplicationManager OBJECT IDENTIFIER ::= { juniSdxMgmtInterface 3 }

    juniJpsAmTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniJpsAmEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table describing attributes of JPS Application Manager Interface."
        ::= { juniSdxJpsApplicationManager 1 }

    juniJpsAmEntry OBJECT-TYPE
        SYNTAX      JuniJpsAmEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry describing attributes of a JPS Application Manager Interface.
        This table is indexed by juniJpsIndex. juniJpsIndex is the number of 
        slot on which the JPS is running. Each JPS has only one AM interface."
        INDEX   { juniJpsIndex }
        ::= { juniJpsAmTable 1 }
    
    JuniJpsAmEntry::= SEQUENCE {
        juniJpsAmConnectionsOpened    Counter32,
        juniJpsAmConnectionsClosed    Counter32
    }

    juniJpsAmConnectionsOpened OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The total number of AM connections accepted since the JPS starts."
        ::= { juniJpsAmEntry 1 }

    juniJpsAmConnectionsClosed OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The total number of AM connections closed since the JPS starts."
        ::= { juniJpsAmEntry 2 }

--
-- AmConn MI
--
    juniJpsAmConnTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniJpsAmConnEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table describing JPS connections to Application Managers."
        ::= { juniSdxJpsApplicationManager 2 }

    juniJpsAmConnEntry OBJECT-TYPE
        SYNTAX      JuniJpsAmConnEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry describing attributes of a JPS connection with Application
         Manager. This table is indexed by juniJpsIndex, juniJpsAmConnAddress
         and juniJpsAmConnPort. juniJpsIndex is the number of slot on which the
         JPS is running. "
        INDEX   { juniJpsIndex,
                  juniJpsAmConnAddress,
                  juniJpsAmConnPort}
        ::= { juniJpsAmConnTable 1 }
    
    JuniJpsAmConnEntry::= SEQUENCE {
        juniJpsAmConnAddress          IpAddress,
        juniJpsAmConnPort             Integer32,
        juniJpsAmConnUpTime           TimeTicks,
        juniJpsAmConnCopsVersion      DisplayString,
        juniJpsAmConnSsqsRcvd         Counter32,
        juniJpsAmConnSscsSent         Counter32,
        juniJpsAmConnDecsRcvd         Counter32,
        juniJpsAmConnInvalidDecsRcvd  Counter32,
        juniJpsAmConnDecsRejected     Counter32,
        juniJpsAmConnDecsDicarded     Counter32,
        juniJpsAmConnRptsSent         Counter32
    }

    juniJpsAmConnAddress OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The IP address of the Application Manager that the connection
         is bound to."
        ::= { juniJpsAmConnEntry 1 }

    juniJpsAmConnPort OBJECT-TYPE
        SYNTAX          Integer32 (1..65535)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The port number of the Application Manager that the connection
         is bound to."
        ::= { juniJpsAmConnEntry 2 }

    juniJpsAmConnUpTime OBJECT-TYPE
        SYNTAX          TimeTicks
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The time (in 1/100ths of a second) that has passed since this 
         connection was established."
        ::= { juniJpsAmConnEntry 3 }

    juniJpsAmConnCopsVersion OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(1..20))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The PCMM COPS version of the connection."
        ::= { juniJpsAmConnEntry 4 }

    juniJpsAmConnSsqsRcvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of COPS SSQ messages received from the AM. This object is 
         irrelevent unless PCMM COPS version < 2.0.  Note that when an SSQ is 
         received, an SSC is immediately returned to the AM."
        ::= { juniJpsAmConnEntry 5 }

    juniJpsAmConnSscsSent OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of COPS SSC messages sent to the AM. This object is 
         irrelevent unless PCMM COPS version < 2.0.  Note that when an SSQ is 
         received, an SSC is immediately returned to the AM."
        ::= { juniJpsAmConnEntry 6 }

    juniJpsAmConnDecsRcvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of COPS DEC messages received from the AM."
        ::= { juniJpsAmConnEntry 7 }

    juniJpsAmConnInvalidDecsRcvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of malformed COPS DEC messages received from the AM."
        ::= { juniJpsAmConnEntry 8 }

    juniJpsAmConnDecsRejected OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of COPS error RPTs sent to the AM."
        ::= { juniJpsAmConnEntry 9 }

    juniJpsAmConnDecsDicarded OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of AM-generated COPS DEC messages dropped without 
         sending a corresponding COPS error RPT back to the AM. This is usually
         due to a failed attempt to send a COPS error RPT."
        ::= { juniJpsAmConnEntry 10 }

    juniJpsAmConnRptsSent OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of COPS RPT messages sent to the AM."
        ::= { juniJpsAmConnEntry 11 }

--
-- Cmts MI
--

    juniSdxJpsCmts OBJECT IDENTIFIER ::= { juniSdxMgmtInterface 4 }

    juniJpsCmtsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniJpsCmtsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table describing attributes of JPS CMTS Interface."
        ::= { juniSdxJpsCmts 1 }

    juniJpsCmtsEntry OBJECT-TYPE
        SYNTAX      JuniJpsCmtsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry describing attributes of a JPS CMTS Interface. This table is
        indexed by juniJpsIndex. juniJpsIndex is the number of slot on which 
        the JPS is running. Each JPS has only one CMTS interface."
        INDEX   { juniJpsIndex }
        ::= { juniJpsCmtsTable 1 }
    
    JuniJpsCmtsEntry::= SEQUENCE {
        juniJpsCmtsConnectionsOpened  Counter32,
        juniJpsCmtsConnectionsClosed  Counter32,
        juniJpsCmtsSyncReqSsqBCasted  Counter32,
        juniJpsCmtsTimedoutSyncs      Counter32,
        juniJpsCmtsSyncCompleted      Counter32,
        juniJpsCmtsTotalSyncTime      TimeTicks
    }

    juniJpsCmtsConnectionsOpened OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The total number of CMTS connections accepted since the JPS starts."
        ::= { juniJpsCmtsEntry 1 }

    juniJpsCmtsConnectionsClosed OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The total number of CMTS connections closed since the JPS starts."
        ::= { juniJpsCmtsEntry 2 }

    juniJpsCmtsSyncReqSsqBCasted OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of AM-generated Synch-Requests that have been broadcast to
         all connected CMTSs.  In some cases, the Synch-Request may be 
         translated into a COPS SSQ."
        ::= { juniJpsCmtsEntry 3 }

    juniJpsCmtsTimedoutSyncs OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of synchronizations aborted due to one or more CMTSs not 
         responding within the configured timeout."
        ::= { juniJpsCmtsEntry 4 }

    juniJpsCmtsSyncCompleted OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of CMTS synchronizations that were completed successfully."
        ::= { juniJpsCmtsEntry 5 }
        
    juniJpsCmtsTotalSyncTime OBJECT-TYPE
        SYNTAX          TimeTicks
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The total time that the JPS has spent on CMTS synchronizations."
        ::= { juniJpsCmtsEntry 6 }

--
-- CmtsConn MI
--
    juniJpsCmtsConnTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniJpsCmtsConnEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table describing attributes of JPS connections to CMTSs."
        ::= { juniSdxJpsCmts 2 }

    juniJpsCmtsConnEntry OBJECT-TYPE
        SYNTAX      JuniJpsCmtsConnEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry describing attributes of a JPS connection to CMTS. This table
         is indexed by juniJpsIndex, juniJpsCmtsConnAddress and 
         juniJpsCmtsConnPort. juniJpsIndex is the number of slot on which the 
         JPS is running."
        INDEX   { juniJpsIndex,
                  juniJpsCmtsConnAddress,
                  juniJpsCmtsConnPort}
        ::= { juniJpsCmtsConnTable 1 }
    
    JuniJpsCmtsConnEntry::= SEQUENCE {
        juniJpsCmtsConnAddress          IpAddress,
        juniJpsCmtsConnPort             Integer32,
        juniJpsCmtsConnUpTime           TimeTicks,
        juniJpsCmtsConnCopsVersion      DisplayString,
        juniJpsCmtsConnSsqsSent         Counter32,
        juniJpsCmtsConnSscsRcvd         Counter32,
        juniJpsCmtsConnDecsSent         Counter32,
        juniJpsCmtsConnRptsRcvd         Counter32,
        juniJpsCmtsConnInvalidRptsRcvd  Counter32,
        juniJpsCmtsConnRptsDiscarded    Counter32,
        juniJpsCmtsConnDecRptTrans      Counter32,
        juniJpsCmtsConnDecRptTransTime  TimeTicks,
        juniJpsCmtsConnTimedoutDecs     Counter32,
        juniJpsCmtsConnMsgRcptDecsSent  Counter32
    }

    juniJpsCmtsConnAddress OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The IP address of the CMTS that the connection is bound to."
        ::= { juniJpsCmtsConnEntry 1 }

    juniJpsCmtsConnPort OBJECT-TYPE
        SYNTAX          Integer32 (1..65535)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The port number of the CMTS that the connection is bound to."
        ::= { juniJpsCmtsConnEntry 2 }

    juniJpsCmtsConnUpTime OBJECT-TYPE
        SYNTAX          TimeTicks
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The time (in 1/100ths of a second) that has passed since this 
         connection was established."
        ::= { juniJpsCmtsConnEntry 3 }

    juniJpsCmtsConnCopsVersion OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(1..20))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The PCMM COPS version of the connection."
        ::= { juniJpsCmtsConnEntry 4 }


    juniJpsCmtsConnSsqsSent OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of COPS SSQ messages sent to the CMTS. This object is 
         irrelevent unless PCMM COPS version >= 2.0."
        ::= { juniJpsCmtsConnEntry 5 }

    juniJpsCmtsConnSscsRcvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of COPS SSC messages received from the CMTS. This object is
         irrelevent unless PCMM COPS version >= 2.0."
        ::= { juniJpsCmtsConnEntry 6 }

    juniJpsCmtsConnDecsSent OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of COPS DEC messages sent to the CMTS."
        ::= { juniJpsCmtsConnEntry 7 }

    juniJpsCmtsConnRptsRcvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of COPS RPT messages received from the CMTS."
        ::= { juniJpsCmtsConnEntry 8 }

    juniJpsCmtsConnInvalidRptsRcvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of malformed COPS RPT messages received from the CMTS. 
         These may be discarded immediately, or forwarded to an AM, depending
         on configuration."
        ::= { juniJpsCmtsConnEntry 9 }

    juniJpsCmtsConnRptsDiscarded OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of COPS RPT messages received from the CMTS and immediately
         discarded (possibly due to congestion on the forwarding path to a 
         specific AM)."
        ::= { juniJpsCmtsConnEntry 10 }

    juniJpsCmtsConnDecRptTrans OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of COPS DEC/RPT transactions that are completed 
         successfully. A DEC/RPT transaction starts when JPS sends a DEC 
         message to the CMTS and ends when the corresponding RPT is received. 
         CMTS synchronizations are not counted in this number."
        ::= { juniJpsCmtsConnEntry 11 }

    juniJpsCmtsConnDecRptTransTime OBJECT-TYPE
        SYNTAX          TimeTicks
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The total time of DEC/RPT transactions that are completed 
         successfully. A DEC/RPT transaction starts when JPS sends a DEC 
         message to the CMTS and ends when the corresponding RPT is received. 
         CMTS synchronizations are not counted in this number."
        ::= { juniJpsCmtsConnEntry 12 }

    juniJpsCmtsConnTimedoutDecs OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of COPS DECs sent to the CMTS for which no corresponding 
         COPS RPT was received within the configured timeout."
        ::= { juniJpsCmtsConnEntry 13 }

    juniJpsCmtsConnMsgRcptDecsSent OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of Msg-Receipt messages sent to the CMTS."
        ::= { juniJpsCmtsConnEntry 14 }

--
-- CmtsLoc MI
--
    juniJpsCmtsLocTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniJpsCmtsLocEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table describing attributes of JPS CMTS Locator."
        ::= { juniSdxJpsCmts 3 }

    juniJpsCmtsLocEntry OBJECT-TYPE
        SYNTAX      JuniJpsCmtsLocEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry describing attributes of JPS CMTS Locator. This table is
        indexed by juniJpsIndex. juniJpsIndex is the number of slot on which 
        the JPS is running. Each JPS has only one CMTS Locator."         
        INDEX   { juniJpsIndex }
        ::= { juniJpsCmtsLocTable 1 }
    
    JuniJpsCmtsLocEntry::= SEQUENCE {
        juniJpsCmtsLocLookups         Counter32,
        juniJpsCmtsLocNoMatchLookups  Counter32,
        juniJpsCmtsLocLookupErrs      Counter32
   }

    juniJpsCmtsLocLookups OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of PCMM messages containing a subscriber IP for which a 
         specific destination CMTS was found."
        ::= { juniJpsCmtsLocEntry 1 }

    juniJpsCmtsLocNoMatchLookups OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of PCMM messages containing a subscriber IP for which no
         destination CMTS was configured."
        ::= { juniJpsCmtsLocEntry 2 }

    juniJpsCmtsLocLookupErrs OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of failed attempts to map a subscriber IP to a destination
         CMTS."
        ::= { juniJpsCmtsLocEntry 3 }

--
-- MsgHandler MI
--

    juniSdxJpsMsgHandler OBJECT IDENTIFIER ::= { juniSdxMgmtInterface 5 }

    juniJpsMsgHandlerTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniJpsMsgHandlerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table describing attributes of JPS Message Handler."
        ::= { juniSdxJpsMsgHandler 1 }

    juniJpsMsgHandlerEntry OBJECT-TYPE
        SYNTAX      JuniJpsMsgHandlerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry describing attributes of JPS Message Handler. This table
         has one index: juniJpsIndex. juniJpsIndex is the number of slot on 
         which the JPS is running. Each JPS has only one Message Handler."
        INDEX   { juniJpsIndex }
        ::= { juniJpsMsgHandlerTable 1 }
    
    JuniJpsMsgHandlerEntry::= SEQUENCE {
        juniJpsMsgHdlrRcvd            Counter32,
        juniJpsMsgHdlrHandled         Counter32,
        juniJpsMsgHdlrDropped         Counter32,
        juniJpsMsgHdlrTotalHandleTime TimeTicks
    }

    juniJpsMsgHdlrRcvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of PCMM messages received for forwarding (i.e. the messages
         received from all AMs and all CMTSs that were not immediately 
         discarded, plus the number of messages generated by the policy server 
         itself)."
        ::= { juniJpsMsgHandlerEntry 1 }

    juniJpsMsgHdlrHandled OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of PCMM messages processed normally."
        ::= { juniJpsMsgHandlerEntry 2 }

    juniJpsMsgHdlrDropped OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of PCMM messages discarded due to congestion."
        ::= { juniJpsMsgHandlerEntry 3 }

    juniJpsMsgHdlrTotalHandleTime OBJECT-TYPE
        SYNTAX          TimeTicks
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The total time that the JPS has spent on processing PCMM messages. 
         This does not include the (relatively small) time required to decode 
         messages received from AMs and CMTSs."
        ::= { juniJpsMsgHandlerEntry 4 }

--
-- MsgFlow MI
--
    juniJpsMsgFlowTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniJpsMsgFlowEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table describing attributes of JPS Message Flow."
        ::= { juniSdxJpsMsgHandler 2 }

    juniJpsMsgFlowEntry OBJECT-TYPE
        SYNTAX      JuniJpsMsgFlowEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry describing attributes of a JPS Message Flow. This table
         is indexed by juniJpsIndex and juniJpsMsgFlowId. juniJpsIndex is the
         number of slot on which the JPS is running."
         
        INDEX   { juniJpsIndex,
             IMPLIED juniJpsMsgFlowId }
        ::= { juniJpsMsgFlowTable 1 }
    
    JuniJpsMsgFlowEntry::= SEQUENCE {
        juniJpsMsgFlowId              SnmpAdminString,
        juniJpsMsgFlowUpTime          TimeTicks,
        juniJpsMsgFlowRcvd            Counter32,
        juniJpsMsgFlowHandled         Counter32,
        juniJpsMsgFlowDropped         Counter32,
        juniJpsMsgFlowMsgsInProgress  Gauge32,
        juniJpsMsgFlowTotalHandleTime TimeTicks
    }
    
    juniJpsMsgFlowId OBJECT-TYPE
        SYNTAX          SnmpAdminString (SIZE(1..64))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The id of the message flow."
        ::= { juniJpsMsgFlowEntry 1 }

    juniJpsMsgFlowUpTime OBJECT-TYPE
        SYNTAX          TimeTicks
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The time (in hundredths of a second) since the message flow was created."
        ::= { juniJpsMsgFlowEntry 2 }

    juniJpsMsgFlowRcvd OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of PCMM messages received for forwarding (i.e. the messages 
         received from all AMs and all CMTSs that were not immediately 
         discarded, plus the number of messages generated by the policy server 
         itself)."
        ::= { juniJpsMsgFlowEntry 3 }

    juniJpsMsgFlowHandled OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of PCMM messages processed normally."
        ::= { juniJpsMsgFlowEntry 4 }

    juniJpsMsgFlowDropped OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of PCMM messages discarded due to congestion."
        ::= { juniJpsMsgFlowEntry 5 }

    juniJpsMsgFlowMsgsInProgress OBJECT-TYPE
        SYNTAX          Gauge32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The number of messages received but not yet forwarded to their 
         destination."
        ::= { juniJpsMsgFlowEntry 6 }

    juniJpsMsgFlowTotalHandleTime OBJECT-TYPE
        SYNTAX          TimeTicks
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
        "The total time that the message flow has spent on processing PCMM 
         messages. This does not include the (relatively small) time required 
         to decode messages received from AMs and CMTSs."
        ::= { juniJpsMsgFlowEntry 7 }


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--
-- Conformance information
--
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

juniSdxJpsCompliances OBJECT IDENTIFIER ::= { juniSdxJpsMib 2 }
juniSdxJpsGroups      OBJECT IDENTIFIER ::= { juniSdxJpsMib 3 }

-- compliance statements

juniSdxJpsCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the SDX JPS MIB."
        MODULE  -- this module
                MANDATORY-GROUPS { juniSdxJpsGroup }
        ::= { juniSdxJpsCompliances 1 }

juniSdxJpsGroup OBJECT-GROUP
    OBJECTS
    {
        juniJpsIndex,
        juniJpsUptime,                  
        juniJpsThreads,                
        juniJpsHeapLimit,             
        juniJpsHeapUsed,         
        juniJpsRksPolicyReqSent,
        juniJpsRksPolicyUpdateSent,
        juniJpsRksPolicyDelSent,
        juniJpsRksTimeChangeBCasted,
        juniJpsRksGateSetCreateObsvd,
        juniJpsRksGateSetUpdateObsvd,
        juniJpsRksGateSetAckObsvd,
        juniJpsRksGateSetErrObsvd,
        juniJpsRksGateSetErrSent,
        juniJpsRksGateDelObsvd,
        juniJpsRksGateDelAckObsvd,
        juniJpsRksGateDelErrObsvd,
        juniJpsRksGateDelErrSent,
        juniJpsRksGateInfoObsvd,
        juniJpsRksGateInfoAckObsvd,
        juniJpsRksGateInfoErrObsvd,
        juniJpsRksGateRptClsdObsvd,
        juniJpsRksGateRptNonClsdObsvd,
        juniJpsRksGateRptClsdNoEGIObsvd,
        juniJpsRksSyncReqObsvd,
        juniJpsRksSyncRptObsvd,
        juniJpsRksSyncCompleteObsvd,
        juniJpsRksSyncCompleteErrObsvd,
        juniJpsRksPSGateInfoSent,
        juniJpsRksPSGateInfoAckRcvd,
        juniJpsRksPSGateInfoErrRcvd,        
        juniJpsRksCachedEGIs,  
        juniJpsRksPendingEvents, 
        juniJpsRksHeldDECs,        
        juniJpsAmConnectionsOpened,
        juniJpsAmConnectionsClosed,
        juniJpsAmConnAddress,
        juniJpsAmConnPort,
        juniJpsAmConnUpTime,
        juniJpsAmConnCopsVersion,
        juniJpsAmConnSsqsRcvd,
        juniJpsAmConnSscsSent,
        juniJpsAmConnDecsRcvd,
        juniJpsAmConnInvalidDecsRcvd,
        juniJpsAmConnDecsRejected,
        juniJpsAmConnDecsDicarded,
        juniJpsAmConnRptsSent,
        juniJpsCmtsConnectionsOpened,
        juniJpsCmtsConnectionsClosed,
        juniJpsCmtsSyncReqSsqBCasted,
        juniJpsCmtsTimedoutSyncs,
        juniJpsCmtsSyncCompleted,
        juniJpsCmtsTotalSyncTime,
        juniJpsCmtsConnAddress,
        juniJpsCmtsConnPort,
        juniJpsCmtsConnUpTime,
        juniJpsCmtsConnCopsVersion,
        juniJpsCmtsConnSsqsSent,
        juniJpsCmtsConnSscsRcvd,
        juniJpsCmtsConnDecsSent,
        juniJpsCmtsConnRptsRcvd,
        juniJpsCmtsConnInvalidRptsRcvd,
        juniJpsCmtsConnRptsDiscarded,
        juniJpsCmtsConnDecRptTrans,
        juniJpsCmtsConnDecRptTransTime,
        juniJpsCmtsConnTimedoutDecs,
        juniJpsCmtsConnMsgRcptDecsSent,
        juniJpsCmtsLocLookups,
        juniJpsCmtsLocNoMatchLookups,
        juniJpsCmtsLocLookupErrs,
        juniJpsMsgHdlrRcvd,
        juniJpsMsgHdlrHandled,
        juniJpsMsgHdlrDropped,
        juniJpsMsgHdlrTotalHandleTime,
        juniJpsMsgFlowId,
        juniJpsMsgFlowUpTime,
        juniJpsMsgFlowRcvd,
        juniJpsMsgFlowHandled,
        juniJpsMsgFlowDropped,
        juniJpsMsgFlowMsgsInProgress,
        juniJpsMsgFlowTotalHandleTime
    }
    STATUS  current
    DESCRIPTION
        "A collection of management objects pertaining
        to system management capabilities in SDX. (JPS)"
        ::= { juniSdxJpsGroups 1 }


END